package piccolo;

import edu.umd.cs.piccolo.nodes.PPath;

public class P2DNode {
	private static final long serialVersionUID = -5908926552302973587L;
	public static final int NODE_TYPE_UNKNOWN = 0;
	public static final int NODE_TYPE_ENTITY = 1;
	public static final int NODE_TYPE_RELATION = 2;
	public static final int NODE_TYPE_ATTRIBUTE = 3;
	public static final int NODE_TYPE_GENERALIZATION = 4;
	public static final int NODE_TYPE_EDGE = 5;
	private String label;
	private int type;
	private PPath shape;
	
	public P2DNode()
	{
		super();
		this.label="NODE";
		this.type=NODE_TYPE_UNKNOWN;
	}
	
	public P2DNode(String label)
	{
		super();
		this.label=label;
		this.type=NODE_TYPE_UNKNOWN;
	}
	
	public P2DNode(String label, int type)
	{
		super();
		this.label=label;
		this.type=type;
	}
	
	public P2DNode(String label, int type, PPath shape)
	{
		super();
		this.label=label;
		this.type=type;
		this.shape=shape;
	}
	
	public void setType(int type)
	{
		this.type=type;
	}
	
	public int getType()
	{
		return this.type;
	}
	
	public void setLabel(String label)
	{
		this.label=label;
	}
	
	public String getLabel()
	{
		return this.label;
	}
	
	public void setShape(PPath shape)
	{
		this.shape=shape;
	}
	
	public PPath getShape()
	{
		return this.shape;
	}
}
